// import com.alibaba.druid.DbType;
// import com.alibaba.druid.sql.ast.statement.SQLAnalyzeTableStatement;
// import com.alibaba.druid.sql.ast.statement.SQLExprTableSource;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.List;
#pragma once
#include "../../../../ast/statement/SQLAnalyzeTableStatement.h"
#include "MySqlStatement.h"

class MySqlAnalyzeStatement : virtual public SQLAnalyzeTableStatement, virtual public MySqlStatement
{
public:
  BOOL_ptr noWriteToBinlog;
  BOOL_ptr local;

  MySqlAnalyzeStatement();
  SHAREDOBJECT(MySqlAnalyzeStatement);

  // @Override
  void accept0(SQLASTVisitor_ptr visitor);

  void accept0(MySqlASTVisitor_ptr visitor);

  BOOL_ptr isNoWriteToBinlog();

  void setNoWriteToBinlog(BOOL_ptr noWriteToBinlog);

  BOOL_ptr isLocal();

  void setLocal(BOOL_ptr local);

  SQLExprTableSource_list_ptr getTableSources();

  void addTableSource(SQLExprTableSource_ptr tableSource);
};
